﻿Public NotInheritable Class DependencyProperty 
    ' Methods
    Friend Shared Function FromKnown(ByVal byteVal As Byte) As DependencyProperty
    End Function

    Public Shared Function FromName(ByVal propertyName As String, ByVal ownerType As Type) As DependencyProperty
    End Function

    Public Shared Function FromType(ByVal ownerType As Type)
    End Function

    Public Overrides Function GetHashCode() As Integer
    End Function

    Public Shared Function Register(ByVal name As String, ByVal propertyType As Type, ByVal ownerType As Type) As DependencyProperty
    End Function

    Public Shared Function Register(ByVal name As String, ByVal propertyType As Type, ByVal ownerType As Type, ByVal defaultMetadata As PropertyMetadata) As DependencyProperty
    End Function

    Friend Shared Sub RegisterAsKnown(ByVal dependencyProperty As DependencyProperty, ByVal byteVal As Byte, ByVal propertyValidity As PropertyValidity)
    End Sub

    Public Shared Function RegisterAttached(ByVal name As String, ByVal propertyType As Type, ByVal ownerType As Type) As DependencyProperty
    End Function

    Public Shared Function RegisterAttached(ByVal name As String, ByVal propertyType As Type, ByVal ownerType As Type, ByVal defaultMetadata As PropertyMetadata) As DependencyProperty
    End Function

    Public Shared Function RegisterAttached(ByVal name As String, ByVal propertyType As Type, ByVal ownerType As Type, ByVal defaultMetadata As PropertyMetadata, ByVal validatorType As Type) As DependencyProperty
    End Function


    Public Overrides Function ToString() As String
    End Function


    ' Properties
    Public ReadOnly Property DefaultMetadata() As PropertyMetadata
        Get
        End Get
    End Property

    Public ReadOnly Property IsAttached() As Boolean
        Get
        End Get
    End Property

    Public ReadOnly Property IsEvent() As Boolean
        Get
        End Get
    End Property

    Friend ReadOnly Property IsKnown() As Boolean
        Get
        End Get
    End Property

    Friend Property KnownIndex() As Byte
        Get
        End Get
        Set(ByVal value As Byte)
        End Set
    End Property

    Public ReadOnly Property Name() As String
        Get
        End Get
    End Property

    Public ReadOnly Property OwnerType() As Type
        Get
        End Get
    End Property

    Public ReadOnly Property PropertyType() As Type
        Get
        End Get
    End Property

    Public ReadOnly Property ValidatorType() As Type
        Get
        End Get
    End Property

    Friend ReadOnly Property Validity() As PropertyValidity
        Get
        End Get
    End Property


    ' Nested Types
    Friend Enum PropertyValidity
        ' Fields
        Always = 2
        Reexecute = 1
        Uninitialize = 0
    End Enum
End Class